package com.dms.modules.product.service;

import com.dms.modules.product.vo.ProductDetailVO;
import java.util.List;
import java.util.Set;

/**
 * 商品推荐外观接口
 * 用于解耦ProductService和ProductRecommendationService之间的循环依赖
 */
public interface ProductRecommendationFacade {
    
    /**
     * 获取个性化推荐商品
     * @param userId 用户ID
     * @param limit 返回数量
     * @return 推荐商品列表
     */
    List<ProductDetailVO> getPersonalizedRecommendations(Long userId, Integer limit);
    
    /**
     * 获取相似商品推荐
     * @param productId 商品ID
     * @param limit 返回数量
     * @return 相似商品列表
     */
    List<ProductDetailVO> getSimilarProducts(Long productId, Integer limit);
    
    /**
     * 获取热门商品推荐
     * @param limit 返回数量
     * @return 热门商品列表
     */
    List<ProductDetailVO> getHotProducts(Integer limit);
    
    /**
     * 获取新品推荐
     * @param limit 返回数量
     * @return 新品列表
     */
    List<ProductDetailVO> getNewProducts(Integer limit);
} 